package com.ch07.mapper;

import com.ch07.pojo.City;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import java.util.List;

/**
 * @InterfaceName CityMapper
 * @Description TODO
 * @Author Kx
 * @Date 2025/4/25 8:48
 * @Version 1.0
 */
public interface CityMapper {

    /**
     * @author: kx
     * @date: 2025/4/25 9:32
     * @param rowBounds : 分页参数
     * @return java.util.List<com.ch07.pojo.City>
     * @description: 分页查询,使用mybatis自带的RowBound对象进行分页
     * 这种分页并不是基于数据库的分页语句,而是直接将所有数据库查询到内存中再进行逻辑分页.因此再大数据量的时候这种方式是不可取的
    */
    List<City> pageCity(RowBounds rowBounds);

    /**
     * @author: kx
     * @date: 2025/4/25 9:33
     * @param pageNum : 当前页码
     * @param pageSize : 每页显示条数
     * @return java.util.List<com.ch07.pojo.City>
     * @description: 使用插件分页查询
    */
    List<City> pageCity2(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize);
}
